home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
pretty19.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
55KB
|
2,425 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "pretty.h"
/*No:LOOP_VARIANT_2.nb_errors*/
/*No:LOOP_VARIANT_2.tag*/
T0* r229start_position(T229* C){
T0* R=NULL;
R=X89start_position((C)->_expression/*8*/);
return R;
}
T0* r229twin(T229* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T229*)R)=*C;
return R;
}
/*No:LOOP_VARIANT_2.expression*/
T0* r229to_runnable(T229* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
C->_current_type=a1;
_e=X89to_runnable((C)->_expression/*8*/,a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r229error(r229start_position(C),((T0*)ms226_20400));
}
else{
C->_expression=_e;
/*[IF*/
if(!(X62is_integer(X89result_type((C)->_expression/*8*/)))){
r229error(X89start_position((C)->_expression/*8*/),((T0*)ms226_86602));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
R=(T0*)C;
}
/*FI]*/
}
else{
R=r229twin(C);
/*[IRF3.3set_current_type*/((((T229*)(((T229*)R))))->_current_type)=(NULL);
/*]*/
R=r229to_runnable(((T229*)R),a1);
}
/*FI]*/
return R;
}
/*No:LOOP_VARIANT_2.set_current_type*/
/*No:LOOP_VARIANT_2.current_type*/
void r229error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r229make(T229* C,T0* a1,T0* a2,T0* a3){
C->_comment=a3;
C->_tag=a1;
C->_expression=a2;
}
void r229pretty_print(T229* C){
/*[IF*/
if(((C)->_comment/*4*/)!=((void*)(NULL))){
r64pretty_print((T64*)((C)->_comment/*4*/));
}
else{
r310indent((T310*)(oBC11fmt));
}
/*FI]*/
r310put_string((T310*)(oBC11fmt),((T90*)((C)->_tag/*16*/))->_to_string/*0*/);
r310put_string((T310*)(oBC11fmt),((T0*)ms229_186));
X89pretty_print((C)->_expression/*8*/);
}
/*No:LOOP_VARIANT_2.comment*/
/*No:CALL_INFIX_EQ.feature_name*/
/*No:CALL_INFIX_EQ.right_brackets*/
T0* r113start_position(T113* C){
T0* R=NULL;
R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
void r113error_comparison(T113* C,T0* a1,T0* a2){
r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms112_9960);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms112_88736);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37add_type(a2,((T0*)ms12_47));
r37print_as_fatal_error((T37*)(oBC11eh));
}
T0* r113add_comment(T113* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r113to_integer(T113* C){
T2 R=0;
r113error(r113start_position(C),((T0*)ms12_45846));
return R;
}
void r113bracketed_pretty_print(T113* C){
r310put_character((T310*)(oBC11fmt),'\50');
r113pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
}
void r113print_op(T113* C){
r310put_character((T310*)(oBC11fmt),'\40');
/*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
}/*]*/
r310put_character((T310*)(oBC11fmt),'\40');
}
T0* r113to_runnable(T113* C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r113runnable_expression((C)->_target/*4*/,a1);
_a=r113runnable_args((C)->_arguments/*8*/,a1);
/*[IF*/
if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T113*n=malloc(sizeof(*n));
*n=M113;
r113with(n,_t,(C)->_feature_name/*12*/,_a);
R=(T0*)n;
}
}
/*FI]*/
r113check_comparison(((T113*)R),a1);
return R;
}
/*No:CALL_INFIX_EQ.fz_bad_argument*/
/*No:CALL_INFIX_EQ.fz_iinaiv*/
/*No:CALL_INFIX_EQ.result_type*/
T0* r113runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r132to_runnable(((T132*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(r132start_position(((T132*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r113check_comparison(T113* C,T0* a1){
T0* _at=NULL;
T0* _tt=NULL;
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_tt=X62run_type(X89result_type((C)->_target/*4*/));
_at=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
/*[IF*/
if(X62is_none(_tt)){
/*[IF*/
if(X62is_expanded(_at)){
X62used_as_reference(_at);
}
/*FI]*/
}
else if(X62is_none(_at)){
/*[IF*/
if(X62is_expanded(_tt)){
X62used_as_reference(_tt);
}
/*FI]*/
}
else if(X62is_reference(_tt)){
/*[IF*/
if(X62is_reference(_at)){
/*[IF*/
if(X62is_a(_tt,_at)){
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(X62is_a(_at,_tt)){
}
else{
r113error_comparison(C,((T0*)ms112_46246),a1);
}
/*FI]*/
}
/*FI]*/
}
else if(!(X62is_a(_at,_tt))){
r113error_comparison(C,((T0*)ms112_41670),a1);
}
else{
X62used_as_reference(_at);
}
/*FI]*/
}
else{
/*[IF*/
if(X62is_expanded(_at)){
/*[IF*/
if(X62is_basic_eiffel_expanded(_at)){
/*[IF*/
if(X62is_a(_tt,_at)){
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(X62is_a(_at,_tt)){
}
else{
r113error_comparison(C,((T0*)ms112_37791),a1);
}
/*FI]*/
}
/*FI]*/
}
else if(X62is_bit(_tt)){
r113bit_limitation(C,_tt,_at);
}
else if(!(X62is_a(_at,_tt))){
r113error_comparison(C,((T0*)ms112_37791a),a1);
}
/*FI]*/
}
else if(!(X62is_a(_tt,_at))){
r113error_comparison(C,((T0*)ms112_42138),a1);
}
else{
X62used_as_reference(_tt);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
void r113bit_limitation(T113* C,T0* a1,T0* a2){
T0* _b2=NULL;
T0* _b1=NULL;
_b1=a1;
if(NULL!=(_b1))switch(((T0*)_b1)->id) {
case 260: case 262:
break;
default:
_b1=NULL;
};_b2=a2;
if(NULL!=(_b2))switch(((T0*)_b2)->id) {
case 260: case 262:
break;
default:
_b2=NULL;
};/*[IF*/
if((X261nb(_b1))!=(X261nb(_b2))){
r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms112_21261);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37add_type(_b1,((T0*)ms112_1930));
r37add_type(_b2,((T0*)ms112_383757));
r37print_as_fatal_error((T37*)(oBC11eh));
}
/*FI]*/
}
void r113with(T113* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_INFIX_EQ.us_eq*/
/*No:CALL_INFIX_EQ.fatal_error*/
int fBC11type_boolean=0;
T0*oBC11type_boolean=NULL;
T0* r113type_boolean(void){
if(fBC11type_boolean==0){
fBC11type_boolean=1;
{T248*n=malloc(sizeof(*n));
*n=M248;
r248make(n,NULL);
oBC11type_boolean=(T0*)n;
}
}
return oBC11type_boolean;}
/*No:CALL_INFIX_EQ.nb_errors*/
/*No:CALL_INFIX_EQ.arguments*/
T0* r113runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X89to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(X89start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_EQ.left_brackets*/
void r113print_as_target(T113* C){
r310put_character((T310*)(oBC11fmt),'\50');
r113pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
r310put_character((T310*)(oBC11fmt),'\56');
}
/*No:CALL_INFIX_EQ.arg1*/
/*No:CALL_INFIX_EQ.fz_dot*/
/*No:CALL_INFIX_EQ.target*/
void r113error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:CALL_INFIX_EQ.precedence*/
void r113make(T113* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,r113operator(),a2);
C->_feature_name=(T0*)n;
}
{T132*n=malloc(sizeof(*n));
*n=M132;
/*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_EQ.is_current*/
void r113pretty_print(T113* C){
/*[IF*/
if((X89precedence((C)->_target/*4*/))==(13)){
X89pretty_print((C)->_target/*4*/);
}
else if((6)>(X89precedence((C)->_target/*4*/))){
X89bracketed_pretty_print((C)->_target/*4*/);
}
else if((6)<(X89precedence((C)->_target/*4*/))){
X89pretty_print((C)->_target/*4*/);
}
/*AF*/else{
X89pretty_print((C)->_target/*4*/);
}
/*FI]*/
r113print_op(C);
/*[IF*/
if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((6)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((6)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_EQ.is_void*/
T0* r113operator(void){
T0* R=NULL;
R=((T0*)ms13_62);
return R;
}
/*No:CALL_INFIX_EQ.atomic_precedence*/
/*No:CALL_INFIX_AND.feature_name*/
/*No:CALL_INFIX_AND.right_brackets*/
T0* r105start_position(T105* C){
T0* R=NULL;
R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r105add_comment(T105* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r105to_integer(T105* C){
T2 R=0;
r105error(r105start_position(C),((T0*)ms12_45846));
return R;
}
void r105bracketed_pretty_print(T105* C){
r310put_character((T310*)(oBC11fmt),'\50');
r105pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
}
void r105print_op(T105* C){
r310put_character((T310*)(oBC11fmt),'\40');
/*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
}/*]*/
r310put_character((T310*)(oBC11fmt),'\40');
}
T0* r105to_runnable(T105* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r105runnable_expression((C)->_target/*4*/,a1);
_a=r105runnable_args((C)->_arguments/*8*/,a1);
_tt=X89result_type(_t);
_at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r105run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r105run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T105*n=malloc(sizeof(*n));
*n=M105;
r105with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_AND.fz_bad_argument*/
/*No:CALL_INFIX_AND.fz_iinaiv*/
T0* r105result_type(T105* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X62is_like_current(R)){
R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 242:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_AND.run_feature*/
T0* r105runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r132to_runnable(((T132*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(r132start_position(((T132*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r105with(T105* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r105run_feature_match(C,a5);
}
/*No:CALL_INFIX_AND.fatal_error*/
void r105run_feature_match(T105* C,T0* a1){
r105run_feature_has_result(C);
r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_AND.arguments*/
T0* r105runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X89to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(X89start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_AND.left_brackets*/
/*No:CALL_INFIX_AND.implicit_cast*/
void r105print_as_target(T105* C){
r310put_character((T310*)(oBC11fmt),'\50');
r105pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
r310put_character((T310*)(oBC11fmt),'\56');
}
/*No:CALL_INFIX_AND.arg1*/
void r105run_feature_has_result(T105* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r37add_position(X312start_position((C)->_run_feature/*16*/));
r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r105run_feature_for(T105* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(X89result_type(a1));
R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_AND.target*/
void r105error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:CALL_INFIX_AND.precedence*/
void r105make(T105* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,r105operator(),a2);
C->_feature_name=(T0*)n;
}
{T132*n=malloc(sizeof(*n));
*n=M132;
/*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_AND.is_current*/
void r105pretty_print(T105* C){
/*[IF*/
if((X89precedence((C)->_target/*4*/))==(13)){
X89pretty_print((C)->_target/*4*/);
}
else if((5)>(X89precedence((C)->_target/*4*/))){
X89bracketed_pretty_print((C)->_target/*4*/);
}
else if((5)<(X89precedence((C)->_target/*4*/))){
X89pretty_print((C)->_target/*4*/);
}
/*AF*/else{
X89pretty_print((C)->_target/*4*/);
}
/*FI]*/
r105print_op(C);
/*[IF*/
if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((5)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((5)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_AND.is_void*/
/*No:CALL_INFIX_AND.us_and*/
T0* r105operator(void){
T0* R=NULL;
R=((T0*)ms13_939);
return R;
}
/*No:CALL_INFIX_AND.atomic_precedence*/
T0* r151type_boolean(void){
if(fBC11type_boolean==0){
fBC11type_boolean=1;
{T248*n=malloc(sizeof(*n));
*n=M248;
r248make(n,NULL);
oBC11type_boolean=(T0*)n;
}
}
return oBC11type_boolean;}
/*No:E_TRUE.start_position*/
T0* r151to_string(void){
T0* R=NULL;
R=((T0*)ms12_1832);
return R;
}
T0* r151add_comment(T151* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:E_TRUE.to_integer*/
/*No:E_TRUE.print_as_target*/
/*No:E_TRUE.bracketed_pretty_print*/
/*No:E_TRUE.to_runnable*/
/*No:E_TRUE.fz_iinaiv*/
/*No:E_TRUE.result_type*/
void r151error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:E_TRUE.precedence*/
/*No:E_TRUE.make*/
/*No:E_TRUE.fz_true*/
/*No:E_TRUE.is_current*/
/*No:E_TRUE.pretty_print*/
/*No:E_TRUE.is_void*/
/*No:E_TRUE.atomic_precedence*/
T0* r129start_position(T129* C){
T0* R=NULL;
R=X89start_position((C)->_expression/*4*/);
return R;
}
T0* r129add_comment(T129* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:E_OLD.expression*/
T2 r129to_integer(T129* C){
T2 R=0;
r129error(r129start_position(C),((T0*)ms12_45846));
return R;
}
void r129print_as_target(T129* C){
r310put_character((T310*)(oBC11fmt),'\50');
r129pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
r310put_character((T310*)(oBC11fmt),'\56');
}
void r129bracketed_pretty_print(T129* C){
r310put_character((T310*)(oBC11fmt),'\50');
r129pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
}
T0* r129to_runnable(T129* C,T0* a1){
T0* R=NULL;
T0* _exp=NULL;
/*[IF*/
if(((C)->_current_type/*8*/)==((void*)(NULL))){
C->_current_type=a1;
_exp=X89to_runnable((C)->_expression/*4*/,a1);
/*[IF*/
if((_exp)==((void*)(NULL))){
r129error(r129start_position(C),((T0*)ms129_24605));
}
else{
C->_expression=_exp;
}
/*FI]*/
R=(T0*)C;
}
else{
{T129*n=malloc(sizeof(*n));
*n=M129;
/*[IRF3.3make*/((((T129*)(n)))->_expression)=((C)->_expression/*4*/);
/*]*/
R=(T0*)n;
}
R=r129to_runnable(((T129*)R),a1);
}
/*FI]*/
return R;
}
/*No:E_OLD.current_type*/
/*No:E_OLD.fz_iinaiv*/
T0* r129result_type(T129* C){
T0* R=NULL;
R=X89result_type((C)->_expression/*4*/);
return R;
}
void r129error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:E_OLD.precedence*/
/*No:E_OLD.make*/
/*No:E_OLD.is_current*/
void r129pretty_print(T129* C){
r310put_string((T310*)(oBC11fmt),((T0*)ms129_1444));
r310level_incr((T310*)(oBC11fmt));
X89pretty_print((C)->_expression/*4*/);
r310level_decr((T310*)(oBC11fmt));
}
/*No:E_OLD.is_void*/
/*No:WRITABLE_ATTRIBUTE.base_class*/
T0* r299start_position(T299* C){
T0* R=NULL;
R=X65start_position(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r299is_merge_with(T299* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(/*(IRF4.1arguments*/NULL/*)*/),X75arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in(X75result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(X75arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r299merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:WRITABLE_ATTRIBUTE.first_name*/
/*No:WRITABLE_ATTRIBUTE.em1*/
/*No:WRITABLE_ATTRIBUTE.set_isa_redefinition*/
/*No:WRITABLE_ATTRIBUTE.header_comment*/
void r299pretty_print_profile(T299* C){
r299pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
/*[IRF3.1pretty_print_arguments*//*]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
r310put_string((T310*)(oBC11fmt),((T0*)ms75_186));
X62pretty_print((C)->_result_type/*20*/);
}
/*FI]*/
}
/*No:WRITABLE_ATTRIBUTE.names*/
/*No:WRITABLE_ATTRIBUTE.result_type*/
/*No:WRITABLE_ATTRIBUTE.code_require*/
/*No:WRITABLE_ATTRIBUTE.make_e_feature*/
void r299add_into(T299* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r39base_class((T39*)(X65start_position(r67item((T67*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
_fn=r67item((T67*)((C)->_names/*8*/),_i);
/*[IF*/
if(r74has(((T74*)a1),X65to_key(_fn))){
_fn=/*X75first_name*/((T0*)/*(IRF4.6first_name*/r67item(((T67*)(((T183*)(r74at(((T74*)a1),X65to_key(_fn))))->_names/*8*/)),1)/*)*/);
r37add_position(X65start_position(_fn));
r37add_position(X65start_position(r67item((T67*)((C)->_names/*8*/),_i)));
r37error((T37*)(oBC11eh),((T0*)ms75_41905));
/*[IRF3.6append*/{T0* b1=X65to_string(_fn);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
else{
r74put(((T74*)a1),(T0*)C,X65to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r299can_hide(T299* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
r37add_position(X75start_position(a1));
r299error(r299start_position(C),((T0*)ms75_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/r37add_position(X75start_position(a1));
r299error(r299start_position(C),((T0*)ms75_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms75_54285);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r299merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:WRITABLE_ATTRIBUTE.ensure_assertion*/
T0* r299try_to_undefine(T299* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r37add_position(X65start_position(a1));
_fn2=r67feature_name((T67*)((C)->_names/*8*/),X65to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X65undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r299try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X269set_clients*//*[IRF3.3set_clients*/((((T272*)(((T272*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r299merge_header_comments(C,R);
}
else{
r41fatal_undefine(((T41*)a2),a1);
}
/*FI]*/
return R;
}
/*No:WRITABLE_ATTRIBUTE.is_deferred*/
/*No:WRITABLE_ATTRIBUTE.set_clients*/
/*No:WRITABLE_ATTRIBUTE.nb_errors*/
T0* r299to_run_feature(T299* C,T0* a1,T0* a2){
T0* R=NULL;
{T345*n=malloc(sizeof(*n));
*n=M345;
r345make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
void r299merge_header_comments(T299* C,T0* a1){
/*[IF*/
if(((T42*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/);
}
else if((/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X75set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:WRITABLE_ATTRIBUTE.arguments*/
/*No:WRITABLE_ATTRIBUTE.require_assertion*/
/*No:WRITABLE_ATTRIBUTE.pretty_print_arguments*/
T0* r299try_to_undefine_aux(T299* C,T0* a1,T0* a2){
T0* R=NULL;
r37add_position(r299start_position(C));
r299error(X65start_position(a1),((T0*)ms185_99414));
r41fatal_undefine(((T41*)a2),a1);
return R;
}
/*No:WRITABLE_ATTRIBUTE.isa_redefinition*/
/*No:WRITABLE_ATTRIBUTE.fz_dot*/
void r299error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r299make(T299* C,T0* a1,T0* a2){
/*[IRF3.3make_e_feature*/((((T299*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
}
void r299pretty_print_names(T299* C){
T2 _i=0;
_i=1;
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
r310put_string((T310*)(oBC11fmt),((T0*)ms75_158));
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
}
}
void r299pretty_print(T299* C){
r299pretty_print_profile(C);
/*[IRF3.1pretty_tail*//*]*/
r310put_character((T310*)(oBC11fmt),'\73');
/*[IF*/
if(((C)->_header_comment/*12*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
r64pretty_print((T64*)((C)->_header_comment/*12*/));
}
else{
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
}
/*FI]*/
}
void r299collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r332fast_has((T332*)(oBC75require_collector),_er))){
r332add_last((T332*)(oBC75require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:WRITABLE_ATTRIBUTE.set_header_comment*/
/*No:WRITABLE_ATTRIBUTE.pretty_tail*/
/*No:WRITABLE_ATTRIBUTE.clients*/
/*No:RUN_FEATURE_4.use_current_state*/
/*No:RUN_FEATURE_4.rescue_compound*/
/*No:RUN_FEATURE_4.actuals_clients*/
/*No:RUN_FEATURE_4.arguments*/
void r337initialize(T337* C){
C->_arguments=((T288*)((C)->_base_feature/*32*/))->_arguments/*24*/;
C->_result_type=((T288*)((C)->_base_feature/*32*/))->_result_type/*56*/;
/*[IF*/
if(X62is_like_argument((C)->_result_type/*40*/)){
/*[IF*/
if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T171*n=malloc(sizeof(*n));
*n=M171;
r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
}
else{
C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T171*n=malloc(sizeof(*n));
*n=M171;
r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
C->_local_vars=((T288*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r162to_runnable((T162*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T288*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r200to_runnable((T200*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r54require_check((T54*)(oBC11run_control))){
C->_require_assertion=r288run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r54ensure_check((T54*)(oBC11run_control))){
C->_ensure_assertion=r288run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T288*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r200to_runnable((T200*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
}
T0* r337start_position(T337* C){
T0* R=NULL;
R=r288start_position((T288*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_4.require_assertion*/
/*No:RUN_FEATURE_4.clients_memory*/
/*No:RUN_FEATURE_4.ucs_not_computed*/
/*No:RUN_FEATURE_4.current_type*/
void r337add_client(T337* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T319*n=malloc(sizeof(*n));
*n=M319;
r319with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r313add_client((T313*)(r337run_class(C)),a1);
}
T0* r337run_class(T337* C){
T0* R=NULL;
R=X62run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_4.result_type*/
/*No:RUN_FEATURE_4.base_feature*/
/*No:RUN_FEATURE_4.ensure_assertion*/
void r337make(T337* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r337run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
/*]*/
r42incr_magic_count((T42*)(oBC11small_eiffel));
C->_use_current_state=15;
r42push((T42*)(oBC11small_eiffel),(T0*)C);
r337initialize(C);
r42pop((T42*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_4.routine_body*/
/*No:RUN_FEATURE_4.name*/
/*No:RUN_FEATURE_4.local_vars*/
T2 r337arg_count(T337* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r337clients(T337* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X62base_class((C)->_current_type/*4*/);
_bfbc=((T288*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T288*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r337is_exported_in(T337* C,T0* a1){
T6 R=0;
R=r83gives_permission_to((T83*)(r337clients(C)),a1);
return R;
}
/*No:CST_ATT_REAL.base_class*/
/*No:CST_ATT_REAL.value_mem*/
T0* r195start_position(T195* C){
T0* R=NULL;
R=X65start_position(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r195is_merge_with(T195* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(/*(IRF4.1arguments*/NULL/*)*/),X75arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in(X75result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(X75arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r195merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_REAL.first_name*/
/*No:CST_ATT_REAL.em1*/
/*No:CST_ATT_REAL.header_comment*/
void r195pretty_print_profile(T195* C){
r195pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
/*[IRF3.1pretty_print_arguments*//*]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
r310put_string((T310*)(oBC11fmt),((T0*)ms75_186));
X62pretty_print((C)->_result_type/*20*/);
}
/*FI]*/
}
/*No:CST_ATT_REAL.names*/
/*No:CST_ATT_REAL.result_type*/
/*No:CST_ATT_REAL.code_require*/
/*No:CST_ATT_REAL.make_e_feature*/
void r195add_into(T195* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r39base_class((T39*)(X65start_position(r67item((T67*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
_fn=r67item((T67*)((C)->_names/*8*/),_i);
/*[IF*/
if(r74has(((T74*)a1),X65to_key(_fn))){
_fn=/*X75first_name*/((T0*)/*(IRF4.6first_name*/r67item(((T67*)(((T183*)(r74at(((T74*)a1),X65to_key(_fn))))->_names/*8*/)),1)/*)*/);
r37add_position(X65start_position(_fn));
r37add_position(X65start_position(r67item((T67*)((C)->_names/*8*/),_i)));
r37error((T37*)(oBC11eh),((T0*)ms75_41905));
/*[IRF3.6append*/{T0* b1=X65to_string(_fn);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
else{
r74put(((T74*)a1),(T0*)C,X65to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r195can_hide(T195* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
r37add_position(X75start_position(a1));
r195error(r195start_position(C),((T0*)ms75_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/r37add_position(X75start_position(a1));
r195error(r195start_position(C),((T0*)ms75_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms75_54285);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r195merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_REAL.ensure_assertion*/
T0* r195try_to_undefine(T195* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r37add_position(X65start_position(a1));
_fn2=r67feature_name((T67*)((C)->_names/*8*/),X65to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X65undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r195try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X269set_clients*//*[IRF3.3set_clients*/((((T272*)(((T272*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r195merge_header_comments(C,R);
}
else{
r41fatal_undefine(((T41*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_REAL.is_deferred*/
/*No:CST_ATT_REAL.set_clients*/
/*No:CST_ATT_REAL.value*/
/*No:CST_ATT_REAL.nb_errors*/
T0* r195to_run_feature(T195* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(a1);
R=r313at(((T313*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 325:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T325*n=malloc(sizeof(*n));
*n=M325;
r325make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r195merge_header_comments(T195* C,T0* a1){
/*[IF*/
if(((T42*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/);
}
else if((/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X75set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_REAL.arguments*/
/*No:CST_ATT_REAL.require_assertion*/
/*No:CST_ATT_REAL.pretty_print_arguments*/
T0* r195try_to_undefine_aux(T195* C,T0* a1,T0* a2){
T0* R=NULL;
r37add_position(r195start_position(C));
r195error(X65start_position(a1),((T0*)ms185_99414));
r41fatal_undefine(((T41*)a2),a1);
return R;
}
/*No:CST_ATT_REAL.fz_dot*/
void r195error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r195make(T195* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T195*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r195pretty_print_names(T195* C){
T2 _i=0;
_i=1;
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
r310put_string((T310*)(oBC11fmt),((T0*)ms75_158));
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
}
}
void r195pretty_print(T195* C){
r195pretty_print_profile(C);
r195pretty_tail(C);
r310put_character((T310*)(oBC11fmt),'\73');
/*[IF*/
if(((C)->_header_comment/*12*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
r64pretty_print((T64*)((C)->_header_comment/*12*/));
}
else{
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
}
/*FI]*/
}
void r195collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r332fast_has((T332*)(oBC75require_collector),_er))){
r332add_last((T332*)(oBC75require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_REAL.set_header_comment*/
void r195pretty_tail(T195* C){
r310put_string((T310*)(oBC11fmt),((T0*)ms184_1176));
/*[IRF3.6pretty_print*/{T157* C1=(T157*)(/*(IRF4.3value*/(C)->_value_mem/*24*//*)*/);
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*8*/);
}/*]*/
}
/*No:CST_ATT_REAL.clients*/
T0* r275run_require(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
T2 _i=0;
r332clear((T332*)(oBC75require_collector));
_ct=/*X312current_type*/((T0*)(((T325*)a1))->_current_type/*4*/);
r41collect_for((T41*)(X62base_class(_ct)),1,/*X312name*/((T0*)(((T325*)a1))->_name/*16*/));
/*[IF*/
if(!(r332empty((T332*)(oBC75require_collector)))){
_i=1;
while (!((_i)>(((T332*)(oBC75require_collector))->_upper/*8*/))) {
_er=r332item((T332*)(oBC75require_collector),_i);
_hc=(((T271*)_er))->_header_comment/*4*/;
/*[IF*/
if(!(/*(IRF4.7empty*/((((T271*)_er))->_list/*8*/)==(NULL)/*)*/)){
_r=r275runnable((((T271*)_er))->_list/*8*/,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T271*n=malloc(sizeof(*n));
*n=M271;
r271make_runnable(n,_r,_ct,a1);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T271*)(((T271*)_er))))->_header_comment)=(_hc);
/*]*/
/*[IF*/
if((_ar)==((void*)(NULL))){
_ar=se_ma332(1,
_er);
}
else{
r332add_last(((T332*)_ar),_er);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((_ar)!=((void*)(NULL))){
{T334*n=malloc(sizeof(*n));
*n=M334;
/*[IRF3.3make*/((((T334*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:EXTERNAL_PROCEDURE.base_class*/
void r275set_rescue_compound(T275* C,T0* a1){
/*[IF*/
if((a1)!=((void*)(NULL))){
r37add_position(r200start_position(((T200*)a1)));
}
else{
r37add_position(r275start_position(C));
}
/*FI]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms274_126759);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37print_as_fatal_error((T37*)(oBC11eh));
}
T0* r275start_position(T275* C){
T0* R=NULL;
R=X65start_position(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r275is_merge_with(T275* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X75arguments(a1))==((void*)(NULL)))){
R=0;
}
else if((/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T175*)(((T171*)(X75arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)((C)->_arguments/*20*/),X75arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(X75arguments(a1)),(C)->_arguments/*20*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r275merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
T0* r275runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
T2 _i=0;
/*[IF*/
if(!(r88empty(((T88*)a1)))){
R=r88twin(((T88*)a1));
_i=(((T88*)R))->_upper/*8*/;
while (!((_i)==(0))) {
r42push((T42*)(oBC11small_eiffel),a3);
_a=r85to_runnable((T85*)(r88item(((T88*)R),_i)),a2);
/*[IF*/
if((_a)==((void*)(NULL))){
r275error(r85start_position((T85*)(r88item(((T88*)R),_i))),((T0*)ms12_14266));
}
else{
/*[IRF3.6put*/{T88* C1=((T88*)R);
T0* b1=_a;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI]*/
r42pop((T42*)(oBC11small_eiffel));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:EXTERNAL_PROCEDURE.first_name*/
/*No:EXTERNAL_PROCEDURE.em1*/
/*No:EXTERNAL_PROCEDURE.header_comment*/
void r275pretty_print_profile(T275* C){
r275pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r275pretty_print_arguments(C);
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.names*/
/*No:EXTERNAL_PROCEDURE.fz_03*/
void r275make_external_routine(T275* C,T0* a1,T0* a2){
C->_native=a1;
C->_alias_string=a2;
}
/*No:EXTERNAL_PROCEDURE.result_type*/
/*No:EXTERNAL_PROCEDURE.code_require*/
/*No:EXTERNAL_PROCEDURE.make_e_feature*/
void r275add_into(T275* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r39base_class((T39*)(X65start_position(r67item((T67*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
_fn=r67item((T67*)((C)->_names/*8*/),_i);
/*[IF*/
if(r74has(((T74*)a1),X65to_key(_fn))){
_fn=/*X75first_name*/((T0*)/*(IRF4.6first_name*/r67item(((T67*)(((T183*)(r74at(((T74*)a1),X65to_key(_fn))))->_names/*8*/)),1)/*)*/);
r37add_position(X65start_position(_fn));
r37add_position(X65start_position(r67item((T67*)((C)->_names/*8*/),_i)));
r37error((T37*)(oBC11eh),((T0*)ms75_41905));
/*[IRF3.6append*/{T0* b1=X65to_string(_fn);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
else{
r74put(((T74*)a1),(T0*)C,X65to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r275can_hide(T275* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
{/*AT*/r37add_position(X75start_position(a1));
r275error(r275start_position(C),((T0*)ms75_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X75arguments(a1))==((void*)(NULL)))){
r37add_position(X75start_position(a1));
r275error(r275start_position(C),((T0*)ms75_83182));
}
else if((/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T175*)(((T171*)(X75arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
r37add_position(X75start_position(a1));
r275error(r275start_position(C),((T0*)ms75_67155));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(r171is_a_in((T171*)((C)->_arguments/*20*/),X75arguments(a1),a2))){
r37add_position(X75start_position(a1));
r37add_position(r275start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms75_54285);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r275merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:EXTERNAL_PROCEDURE.ensure_assertion*/
T0* r275run_ensure(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _r=NULL;
r88clear((T88*)(oBC75assertion_collector));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T331*)((T331*)(oBC75header_comment_memory))))->_item)=(_default_item);
}/*]*/
_ct=/*X312current_type*/((T0*)(((T325*)a1))->_current_type/*4*/);
r41collect_for((T41*)(X62base_class(_ct)),2,/*X312name*/((T0*)(((T325*)a1))->_name/*16*/));
_r=r275runnable(oBC75assertion_collector,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T199*n=malloc(sizeof(*n));
*n=M199;
r199make_runnable(n,_r,_ct,a1);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T199*)(((T199*)R))))->_header_comment)=(((T331*)(oBC75header_comment_memory))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T331*)((T331*)(oBC75header_comment_memory))))->_item)=(_default_item);
}/*]*/
}
/*FI]*/
return R;
}
void r275check_obsolete(T275* C){
/*[IF*/
if(!(((T42*)(oBC11small_eiffel))->_short_flag/*0*/)){
/*[IF*/
if(((C)->_obsolete_mark/*24*/)!=((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms198_39396);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T154*)((C)->_obsolete_mark/*24*/))->_to_string/*8*/;
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r275warning(r275start_position(C),((T0*)ms12_166));
}
/*FI]*/
}
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.fz_is*/
T0* r275try_to_undefine(T275* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r37add_position(X65start_position(a1));
_fn2=r67feature_name((T67*)((C)->_names/*8*/),X65to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X65undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r275try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X269set_clients*//*[IRF3.3set_clients*/((((T272*)(((T272*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r275merge_header_comments(C,R);
}
else{
r41fatal_undefine(((T41*)a2),a1);
}
/*FI]*/
return R;
}
/*No:EXTERNAL_PROCEDURE.is_deferred*/
/*No:EXTERNAL_PROCEDURE.set_clients*/
/*No:EXTERNAL_PROCEDURE.native*/
/*No:EXTERNAL_PROCEDURE.code_ensure*/
/*No:EXTERNAL_PROCEDURE.nb_errors*/
void r275make_routine(T275* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T275*)(C)))->_names)=(a1);
/*]*/
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
T0* r275to_run_feature(T275* C,T0* a1,T0* a2){
T0* R=NULL;
r275check_obsolete(C);
{T335*n=malloc(sizeof(*n));
*n=M335;
r335make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
void r275merge_header_comments(T275* C,T0* a1){
/*[IF*/
if(((T42*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/);
}
else if((/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X75set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.arguments*/
/*No:EXTERNAL_PROCEDURE.require_assertion*/
void r275pretty_print_routine_body(T275* C){
r310keyword((T310*)(oBC11fmt),((T0*)ms274_11448));
X273pretty_print((C)->_native/*40*/);
/*[IF*/
if((!(r7is_equal((T7*)(r275external_c_name(C)),X65to_string(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/))))||((r67count((T67*)((C)->_names/*8*/)))>(1))){
r310indent((T310*)(oBC11fmt));
r310keyword((T310*)(oBC11fmt),((T0*)ms274_2685));
r310put_character((T310*)(oBC11fmt),'\42');
r310put_string((T310*)(oBC11fmt),r275external_c_name(C));
r310put_character((T310*)(oBC11fmt),'\42');
}
/*FI]*/
}
T0* r275external_c_name(T275* C){
T0* R=NULL;
/*[IF*/
if(((C)->_alias_string/*44*/)==((void*)(NULL))){
R=X65to_string(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
}
else{
R=(C)->_alias_string/*44*/;
}
/*FI]*/
return R;
}
void r275pretty_print_arguments(T275* C){
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(NULL))){
r171pretty_print((T171*)((C)->_arguments/*20*/));
}
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.pretty_print_rescue*/
void r275warning(T0* a1,T0* a2){
r37add_position(a1);
r37warning((T37*)(oBC11eh),a2);
}
T0* r275try_to_undefine_aux(T275* C,T0* a1,T0* a2){
T0* R=NULL;
{T270*n=malloc(sizeof(*n));
*n=M270;
r270from_effective(n,a1,(C)->_arguments/*20*/,(C)->_require_assertion/*28*/,(C)->_ensure_assertion/*32*/,a2);
R=(T0*)n;
}
return R;
}
/*No:EXTERNAL_PROCEDURE.set_ensure_assertion*/
/*No:EXTERNAL_PROCEDURE.fz_bad_assertion*/
/*No:EXTERNAL_PROCEDURE.fz_obsolete*/
/*No:EXTERNAL_PROCEDURE.fz_end*/
/*No:EXTERNAL_PROCEDURE.fz_dot*/
/*No:EXTERNAL_PROCEDURE.alias_string*/
void r275error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r275make(T275* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r275make_routine(C,a1,a2,a3,a4,a5);
r275make_external_routine(C,a6,a7);
}
void r275pretty_print_names(T275* C){
T2 _i=0;
_i=1;
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
r310put_string((T310*)(oBC11fmt),((T0*)ms75_158));
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
}
}
void r275pretty_print(T275* C){
T0* _fn=NULL;
r310indent((T310*)(oBC11fmt));
r275pretty_print_profile(C);
r310keyword((T310*)(oBC11fmt),((T0*)ms12_446));
/*[IF*/
if(((C)->_obsolete_mark/*24*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
r310keyword((T310*)(oBC11fmt),((T0*)ms12_10928));
r154pretty_print((T154*)((C)->_obsolete_mark/*24*/));
}
/*FI]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IF*/
if(((C)->_header_comment/*12*/)!=((void*)(NULL))){
r64pretty_print((T64*)((C)->_header_comment/*12*/));
}
/*FI]*/
/*[IF*/
if(((C)->_require_assertion/*28*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r271pretty_print((T271*)((C)->_require_assertion/*28*/));
}
/*FI]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
r275pretty_print_routine_body(C);
/*[IF*/
if(((C)->_ensure_assertion/*32*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r199pretty_print((T199*)((C)->_ensure_assertion/*32*/));
}
/*FI]*/
/*[IRF3.1pretty_print_rescue*//*]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
r310keyword((T310*)(oBC11fmt),((T0*)ms12_951));
/*[IF*/
if((((C)->_end_comment/*36*/)!=((void*)(NULL)))&&(!(r64dummy((T64*)((C)->_end_comment/*36*/))))){
r64pretty_print((T64*)((C)->_end_comment/*36*/));
}
else if(r310print_end_routine((T310*)(oBC11fmt))){
r310put_string((T310*)(oBC11fmt),((T0*)ms198_384));
_fn=/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/;
X65declaration_pretty_print(_fn);
}
/*FI]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
r310put_character((T310*)(oBC11fmt),'\n');
}
void r275collect_for(T275* C,T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=(C)->_require_assertion/*28*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r332fast_has((T332*)(oBC75require_collector),_er))){
r332add_last((T332*)(oBC75require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
if(((C)->_ensure_assertion/*32*/)!=((void*)(NULL))){
/*[IRF3.3set_item*/((((T331*)((T331*)(oBC75header_comment_memory))))->_item)=(((T199*)((C)->_ensure_assertion/*32*/))->_header_comment/*4*/);
/*]*/
r199add_into((T199*)((C)->_ensure_assertion/*32*/),oBC75assertion_collector);
}
/*FI]*/
}
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.end_comment*/
void r275set_header_comment(T275* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)>(1))){
C->_end_comment=a1;
}
/*FI]*/
}
/*No:EXTERNAL_PROCEDURE.clients*/
/*No:EXTERNAL_PROCEDURE.obsolete_mark*/
/*No:IFTHEN.nb_errors*/
/*No:IFTHEN.expression*/
/*No:IFTHEN.fz_is_not_boolean*/
/*No:IFTHEN.then_compound*/
T0* r210to_runnable(T210* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _tc=NULL;
T0* _e=NULL;
/*[IF*/
if(((C)->_current_type/*8*/)==((void*)(NULL))){
C->_current_type=a1;
_e=X89to_runnable((C)->_expression/*0*/,a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r210error(X89start_position((C)->_expression/*0*/),((T0*)ms210_32982));
}
else{
C->_expression=_e;
_t=X89result_type((C)->_expression/*0*/);
/*[IF*/
if(!(X62is_boolean(_t))){
/*[IRF3.6append*/{T0* b1=((T0*)ms210_75563);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37add_type(X89result_type((C)->_expression/*0*/),((T0*)ms12_18320));
r37add_position(X89start_position((C)->_expression/*0*/));
r37print_as_error((T37*)(oBC11eh));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_then_compound/*4*/)!=((void*)(NULL))){
_tc=r200to_runnable((T200*)((C)->_then_compound/*4*/),a1);
/*[IF*/
if((_tc)!=((void*)(NULL))){
C->_then_compound=_tc;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
R=(T0*)C;
}
/*FI]*/
}
else{
{T210*n=malloc(sizeof(*n));
*n=M210;
r210make(n,(C)->_expression/*0*/,(C)->_then_compound/*4*/);
R=(T0*)n;
}
R=r210to_runnable(((T210*)R),a1);
}
/*FI]*/
return R;
}
/*No:IFTHEN.current_type*/
void r210error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r210make(T210* C,T0* a1,T0* a2){
C->_expression=a1;
C->_then_compound=a2;
}
void r210pretty_print(T210* C){
r310level_incr((T310*)(oBC11fmt));
/*[IRF3.3set_semi_colon_flag*/((((T310*)((T310*)(oBC11fmt))))->_semi_colon_flag)=(0);
/*]*/
X89pretty_print((C)->_expression/*0*/);
r310level_decr((T310*)(oBC11fmt));
r310keyword((T310*)(oBC11fmt),((T0*)ms210_1764));
r310indent((T310*)(oBC11fmt));
/*[IF*/
if(((C)->_then_compound/*4*/)!=((void*)(NULL))){
r200pretty_print((T200*)((C)->_then_compound/*4*/));
}
/*FI]*/
}